![]() 下位互換性の無いサーババージョンをクライアント/サーバコンピューティング環境に展開するための方法およびシステム
专利摘要:
アプリケーションサーバの新しい下位互換性の無いバージョンの、クライアント/サーバネットワーキング環境内への導入を管理するための方法およびシステムを説明する。該方法は、最初に、アプリケーションサーバの新しい下位互換性の無いバージョンが提供されるクライアントシステムに、アプリケーションサーバの現在バージョンと互換性があるモード、および新しい下位互換性の無いバージョンと互換性があるモードで動作可能である、クライアントアプリケーションを配布するステップから成る。クライアントシステムへの組み込みに応じて、クライアントアプリケーションは、アプリケーションサーバの現在バージョンと互換性がある、ダウングレードモードに設定される。アプリケーションサーバの現在バージョンが依然として稼動中である間、クライアントアプリケーションは、ダウングレードモードで動作し続ける。アプリケーションサーバの新しい下位互換性の無いバージョンの導入に応じて、クライアントアプリケーションは、アプリケーションサーバの新しいバージョンと互換性がある、有効モードに設定される。その時点から、クライアントアプリケーションは、有効モードで動作する。モードの設定は、クライアント/サーバネットワーキング環境内で動作するバージョンサーバに問い合わせるクライアントシステムの再起動ごとに、自動的にトリガされる。問い合わせは、クライアントシステムをダウングレードモードおよび有効モードを含むモードで動作させるように、問い合わせられたバージョンサーバからステータス値を得るために、クライアントシステムの識別と、クライアントアプリケーションのバージョン番号とを含む。 公开号:JP2011510388A 申请号:JP2010542632 申请日:2009-01-16 公开日:2011-03-31 发明作者:コールデセス,ジョエル;テン,クリストフ;ドール,ピエール;モンベル,ステファン 申请人:アマデウス エス.エイ.エス; IPC主号:G06F9-445
专利说明:
[0001] 本発明は、概して、クライアント/サーバ環境におけるコンピュータシステムに関し、より具体的には、クライアントバージョンとの下位互換性を必要としない、新しいバージョンのサーバソフトウェアアプリケーションの展開に関する。] 背景技術 [0002] ネットワーク上に実装されるクライアント/サーバコンピューティングモデルが、いたる所に採用されてきた。このモデルでは、クライアントノードのソフトウェアアプリケーションによって発行される問い合わせは、1つ以上の接続されたサーバに送信される。サーバによって処理されると、問い合わせされた情報がクライアントに返される。このモデルは、クライアントがウェブブラウザであり、かつサーバが、メールサーバ等の多数の特化したサーバを含むウェブサーバである、インターネットのうちの1つである。] [0003] このモデルは、概して、場合により、インターネットを含むプライベートおよびパブリックネットワークの組み合わせを通じて、サービスプロバイダのコンピューティングリソース上で実行するソフトウェアアプリケーションのエンドユーザである、クライアントのコミュニティの機能を果たす大量のコンピューティングリソースを動作させる、多数のサービスプロバイダのうちの1つでもある。このようなプロバイダの例には、航空会社、通常およびオンラインの旅行代理店(例えば、旅行の計画および予約用)、および空港(例えば、乗客の出国管理およびチェックイン用)を含む、旅行業界全体に旅行サービスを提供する予約/発券システム(Global Distribution System:GDS)が挙げられる。] [0004] ソフトウェアシステムは、概して、それらの寿命にわたって頻繁に更新される。開発段階が完了した後であっても、システムが稼働している時に、修正を加える、および新しい特徴の追加によってそれらを改善するように、ソフトウェアアプリケーションは、進化し続ける。また、新しいタイプの機械の性能を完全に活用するために、またはオペレーティングシステムが新しいか、進化したか、または異なるので、変更を行わなければならない場合がある。] [0005] クライアント/サーバモデルでは、サーバ側アプリケーションの新しいバージョンをロールアウトするために、標準的な技法は、新しいバージョンが下位互換性でなければならない。したがって、任意のノードにおいてどのようなクライアントアプリケーションのバージョンが使用されている時であっても、新しいサーバは、展開されると、クライアントの問い合わせを即座に処理し、かつ問い合わせされた情報を互換性がある形式で配信することができる。] [0006] この理想的な機構を、世界的なパブリックネットワークの無数のクライアントによって使用される全ての既存のウェブブラウザとの互換性をウェブサーバが必要とする、インターネットにある程度まで適用する。しかし、これが完全に当てはまるわけではない。全てのウェブブラウザブランドが、全く同じように作用するとは限らず、また、多くのサーバは、実際に、クライアントアプリケーションの最新バージョンだけしかサポートしていないことは周知である。例えば、世界で最も多く使用されている、Microsoft CorporationによるInternet Explorer(IE)の場合、多くの最近のサーバアプリケーションは、現在、バージョン5(IE5)以上しかサポートしていない。実際に、古いバージョンのブラウザ、またはサポートされていないブラウザブランドが、アップグレードされたサーバから情報を受け取る時に、クライアントのグラフィックユーザインタフェース(GUI)が深刻な障害を受ける場合がある。] [0007] 実際には部分的にしか達成できないにもかかわらず、下位互換性を保持するには、高い費用がかかる。サーバの新しいアプリケーションは、その領域でサポートされる全てのクライアントバージョンの、全てのオプション、特徴、非互換性、および欠陥に何らかの方法で対処しなければならない。これは、新しいサーバアプリケーションを開発するために長い時間と技能を必要とし、また、場合により、より多くのメモリおよびより速いハードウェアリソースを実装することを必要とする、開発段階中に高い費用がかかる。さらに重要なことに、確認するサーバ/クライアントブラウザ組み合わせの数は、試験段階が、妥当な時間量の範囲内で全ての組み合わせの網羅的な試験を可能にするために、不可能な数のリソース(機械および人的資源)の整備が必要となり得る程度まで、急速に増加している。] [0008] 上述したことは、ウェブブラウザが、「シンクライアント」と呼ばれるクライアントであっても当てはまる。すなわち、要求されたジョブを実行するに際し、サーバアプリケーションとクライアントアプリケーションとの間において、実際には限られた共有作業しか実行しないクライアントであっても当てはまる。実際に、ウェブブラウザの主要なタスクは、GUIを通じてウェブサーバによって返されるページを表示することである。] [0009] 公的にアクセスできないクライアント/サーバシステムの場合、概して関連するクライアント(例えば、航空会社、旅行代理店、空港等)だけとしか協働しない、上述のGDSと同様に、クライアントアプリケーションは、むしろ、サーバとクライアントとの間で共有される作業全体のうちのより多くの部分を実行しなければならない、「リッチクライアント」であることが必要となる場合がある。それらの間の利用可能な帯域が制限され過ぎて、タスクごとにサーバを求めるクライアントアプリケーションを行うことができないようにしているので、これが必要になる場合がある。GDSの場合、これは、例えば、航空機の出発および、乗客が搭乗している混雑時に迅速に処理しなければならない作業である、乗客のチェックインを制御するために空港で使用されるクライアントアプリケーションシステムの場合である。実際に、小規模な空港は、依然として限られた外部通信リソースを有する場合がある。また、空港のコンピューティングリソースは、空港当局が所有して、その管理下に置かれ、展開および更新するために承認が必要であり、したがって、チェックインアプリケーションがGDSに関連する航空会社によって使用される場合であっても、時間がかかる。] [0010] したがって、クライアントアプリケーションが、作業の大部分をそれ自体で実行するように考案されたリッチクライアントである時、下位互換性があるサーバを有するという問題は、不可能ではないとしても、シンクライアントによるものよりも、達成がさらに困難になる場合がある。実際に、サポートされる全てのバージョンのリッチクライアントアプリケーションのオプションおよび特徴の数は、潜在的に非常に大きくなり、したがって、サーバアプリケーションの開発および試験段階に関して上述した問題を一層悪化させる。] [0011] US−A−5.732.275は、ソフトウェアプログラムを管理し、かつ自動的に更新するための方法および装置を開示している。この文献は、サーバソフトウェアアプリケーションの新しい下位互換性の無いバージョンの展開前に、ネットワークの全てのクライアントソフトウェアアプリケーションを適合させるという問題には対処していない。この先行技術によれば、クライアントアプリケーションは、共有メモリからソフトウェアバージョンを自動的に行うことができるものと仮定されている。これが、この技術の応用範囲を制限しているのに対して、本発明は、制限されたソフトウェアリソースを伴う、かなりのダム端末を含むネットワークに適用することができる。] [0012] WO01/69382Aは、クライアントデバイスを初期構成するための方法を開示している。この公報によれば、クライアントアプリケーションを初期構成するために、新しいテンプレートがダウンロードされる。このテンプレートは、クライアントアプリケーションを、サーバソフトウェアアプリケーション自体の新しいバージョンではなく、新しい形式のデータ編成に適合させることを意図している。] [0013] したがって、以上のことを考慮すると、クライアント/サーバ環境では、下位互換性がある必要の無い、新しいバージョンのサーバアプリケーションの展開を可能にすることが望ましい。] [0014] 本発明のさらなる目的、特徴、および利点は、添付図面を参照して以下の説明を考察すれば、当業者に明らかになるであろう。あらゆる付加的な利点が本明細書に組み込まれることが意図されている。] [0015] 下位互換性があるサーバをクライアント/サーバネットワーキング環境内に展開しなければならないといった上述の問題点は、アプリケーションサーバのソフトウェアプログラムの新しい下位互換性の無いバージョンの、クライアント/サーバネットワーキング環境内への導入を管理するための方法およびシステムを説明する、本発明によって対処される。 該方法は、最初に、アプリケーションサーバのソフトウェアプログラムの新しい下位互換性の無いバージョンが提供されるクライアントシステムに、アプリケーションサーバの現在バージョンと互換性があるモード、および新しい下位互換性の無いバージョンと互換性があるモードで動作可能である、クライアントアプリケーションを配布するステップから成る。 クライアントシステムへの組み込みに応じて、クライアントアプリケーションは、アプリケーションサーバの現在バージョンと互換性がある、ダウングレードモードに設定される。 アプリケーションサーバの現在バージョンが依然として稼動中である間、クライアントアプリケーションは、ダウングレードモードで動作し続ける。 アプリケーションサーバの新しい下位互換性の無いバージョンの導入に応じて、クライアントアプリケーションは、アプリケーションサーバの新しいバージョンと互換性がある、有効モードに設定される。 その時点から、クライアントアプリケーションは、有効モードで動作する。モードの設定は、クライアント/サーバネットワーキング環境内で動作するバージョンサーバに問い合わせるクライアントシステムの再起動ごとに、自動的にトリガされる。 問い合わせは、クライアントシステムをダウングレードモードおよび有効モードを含むモードで動作させるように、問い合わせられたバージョンサーバからステータス値を得るために、クライアントシステムの識別と、クライアントアプリケーションのバージョン番号とを含む。] [0016] 付加的だが純粋に任意選択である本発明の実施形態によれば、該方法は、以下の通りである。 −設定ステップは、クライアントシステムの再起動ごとに自動的にトリガされ、 クライアント/サーバネットワーキング環境で動作するバージョンサーバに問い合わせるステップであって、該問い合わせは、クライアントシステムの識別を含み、クライアントアプリケーションのバージョン番号をさらに含む、ステップと、 クライアントシステムをダウングレードモードおよび有効モードを含むモードで動作させるように、問い合わせられたバージョンサーバからステータス値を得るステップとをさらに含む。 −問い合わせは、統計を確立するように、クライアントシステムに関する地理的位置、ユーザ識別、およびあらゆる種類の情報をさらに含む。 −問い合わせ内容は、バージョンサーバのデータベース内に格納される。 −クライアントシステムの再起動は、アプリケーションサーバのソフトウェアプログラムの新しい下位互換性の無いバージョンが稼働された時に、アプリケーションサーバを動作させるサービスプロバイダによって強制される。 −クライアントシステムの再起動は、アプリケーションサーバのソフトウェアプログラムの新しい下位互換性の無いバージョンがロードされた時に、自動的に強制される。 −クライアントシステムの再起動は、前バージョンに関するフォールバックの場合に、自動的に強制される。 −クライアントアプリケーションは、クライアントシステムを無効モードで動作させるように、バージョンサーバからステータス値を受け取る。 −得るステップは、 バージョンサーバにおいて、 メタ規則に対してクライアントアプリケーションのバージョン番号を確認して、メタ規則が指定するものよりも古いクライアントアプリケーションが無効であると即時に宣言する、先行ステップを含む。 −メタ規則の確認が成功した場合に、 一組の互換性規則に対してクライアントアプリケーションのバージョン番号を確認するステップと、 規則の内容に従って、互換性規則に関係するクライアントアプリケーションが、無効、非推奨、またはダウングレードであると宣言するステップと、 そうでない場合は、いかなる互換性規則にも関係しないクライアントアプリケーションが、有効であると宣言するステップとを含む。 −得るステップは、1つ以上のクライアントアプリケーションの問題を修正するように、パッチをさらに配信する。 −パッチは、クライアントシステムが再起動されるたびに、動的に適用される。 −クライアントアプリケーションは、グラフィックユーザインタフェースを含む。] [0017] 本発明は、アプリケーションサーバのソフトウェアプログラムの新しい下位互換性の無いバージョンの、該方法の各ステップを実行するために適合される手段を備える、バージョンサーバと、データベースとを含むクライアント/サーバネットワーキング環境内への導入を管理するためのシステムにも関する。] [0018] 本発明は、アプリケーションサーバのソフトウェアプログラムの新しい下位互換性の無いバージョンの、クライアント/サーバネットワーキング環境内への導入を管理するための方法を、少なくとも1つのコンピュータに動作させるための、コンピュータで読み取り可能なコード手段を備える、コンピュータで読み取り可能な記憶媒体に格納されるコンピュータプログラム製品にも関する。] 図面の簡単な説明 [0019] 図1は、バージョンサーバおよびデータベースを含むGDSに基づく、本発明による例示的なシステムを説明する図である。 図2は、クライアントアプリケーションおよびGUIが、稼働中のサーババージョンに依存して、どのように動作しなければならないのかを決定する、クライアントノードでの方法の主要なステップのハイレベル図である。 図3は、ログイン時に問い合わせが発行されたクライアントシステムに起因するステータスを、バージョンサーバがどのように管理するのかを論じる図である。 図4は、バージョンサーバの使用によってもたらされる機能拡張である、クライアントシステムのオンラインパッチングを説明する図である。] 図1 図2 図3 図4 実施例 [0020] 以下の本発明の詳細な説明は、添付図面を参照する。説明は、例示的実施形態を含むが、他の実施形態が可能であり、本発明の精神と範囲から逸脱することなく、説明される実施形態に対して変更が行われ得る。] [0021] 図1は、発明の背景の項で論じられるGDS(100)による、例示的なシステムを説明する。クライアント/サーバ環境内のネットワークを通じてサービスを提供するGDSまたはあらゆる同等のシステムは、多数の遠隔設置されたクライアントアプリケーション(120)(クライアントのレベルで動作するソフトウェアアプリケーション)およびシステム(122)をサポートするように、概して大量のコンピューティングリソース(110)から、サーバを実装する。本発明を示すために用いられるこの特定の実施例では、クライアントシステムは、例えば乗客が航空機に搭乗している時に使用される、空港出発制御システム(DCS)である。接続は、インターネットを含む、プライベートおよびパブリックネットワークの任意の組み合わせを場合により含む、ワイドエリアネットワーク(WAN)を通じて、サーバとクライアントとの間で保持される(130)。コンピューティングリソースは、例えば、プライベートローカルエリアネットワークまたはLAN(105)と全て相互接続される。同様に、ローカルな一組のクライアントアプリケーションは、例えば空港LAN(125)といったLANを通じて総合接続することができ、一方で、独立した複数組のクライアントアプリケーションは、WAN(130)を通じてGDSと通信する。クライアントアプリケーションとのインターフェースは、本実施例では、ゲートウェイ(101)を通じて実行され、クライアントが、本明細書で上述したDCSアプリケーションを含むGDSによって提供される全てのアプリケーション(109)にアクセスできるようにする。このようなシステムは、一般的に、接続しようとするそのクライアントアプリケーションが、正規のものであり、かつサポートされるアプリケーション(109)のうちのいずれかと協働することが許可される、予想される認証を提供できることを確認するように意図された、ログオンおよびセキュリティサーバ、またはLSS(103)を含む。] 図1 [0022] 本説明では、アプリケーションサーバのソフトウェアプログラムは、その機能を実行するようにアプリケーションサーバのレベルで使用される、ソフトウェアリソースを意味する。明示的に示された場合を除き、「アプリケーションサーバのアプリケーションプログラムのソフトウェアプログラム」という用語は、以下、「アプリケーションサーバ」という表現に短縮される場合もある。実際に、サーバがハードウェア構成要素を含む場合であっても、本発明の主題は、ソフトウェア構成要素のバージョンを管理することである。] [0023] 本発明は、データベース(107)と連動して機能するバージョンサーバ(105)を導入する。以下の説明で詳述するように、バージョンサーバの役割は、領域内に存在する全てのクライアントアプリケーションのバージョン(120)を追跡することである。一般的に、GDSおよび同等のシステム(100)は、世界的なWAN(130)を通じて、数千のリモートクライアントアプリケーション(120)をインターフェースできるようにされる。クライアント特性は、それらが必要に応じてバージョンサーバによって読み出される、データベース内に格納される。] [0024] サーバの下位互換が、不可能であるか、または非常に高価になる時、本発明の方法は、最初に、クライアントアプリケーションおよびGUIのアップグレードバージョンを、全てのリモートクライアントに展開するステップから成る。これは、クライアントアプリケーションの新しいバージョンを、サーバの現在バージョン、およびより新しいバージョンの両方、すなわち全てのものと互換させるという意味を含む。このような機構の場合、新しいサーバは、組み込まれる時に、古いクライアントアプリケーションおよびGUIとの互換性を持つ必要が無くなる。] [0025] 上述の方策の結果として、展開段階中に(完全な展開は、一般的に、数千のクライアントノードを備えるネットワークにおいて完了するまでに数週間を必要とし得る)、新しいクライアントアプリケーションは、組み込まれる時に、サーババージョンNに、すなわち、稼働中の現在バージョンまでダウングレードされる。そのステータスは、それに応じて、バージョンサーバ(105)のデータベース(107)内で、「バージョンNへのダウングレード」に変更される。したがって、クライアントアプリケーションがクライアントノード内に展開される暫定期間中、既にアップグレードされたノードのそれは、系統的に、すなわちクライアントが再起動されるたびに、現在のサーバと互換性があるバージョンNを使用している。] [0026] 分配が完了するか、またはほぼ完了すると、サーバシステム、例えば図1のGDS(100)は、エンドユーザの全てまたは少なくとも大部分が、アップグレードされたクライアント/サーバの機能および特徴の活用を開始することができるように、新しいサーバを昇格させることを決定することができる。昇格は、システムの管理者によって手動で行うことができるか、またはソフトウェアのロード時に自動的にトリガすることができる。この場合、バージョンサーバは、サーバの次のバージョン(N+1)を稼働させ、クライアントアプリケーションおよびGUIもN+1のレベルで動作させることができるように、データベースにおいてリモートクライアントノードのステータスを「有効」に変更するように指示される。これを達成するために、バージョンサーバは、バージョンN(および、もしあれば、古いバージョン)を使用する全てのセッションの切断を強制する。このために、ユーザセッションを終了させて、クライアントアプリケーションおよびGUIの再起動を問い合わせるように、バージョンサーバによって、サインアウトメッセージが各クライアントリモートノードに送られる。次いで、次の再起動時に、本発明の以下の説明にさらに論じられるように、バージョンN+1が自動的に使用される。ここでは、GDSサービスプロバイダシステムは、必要に応じて少数または多数のクライアントノードを、バージョンサーバを通じて制御する自由度を有することに留意されたい。特定のアップグレードが関係するクライアントノードだけを再起動する必要がある。アップグレード、ダウングレード(例えば、前バージョンに関するフォールバックの場合)、およびバージョンブロッキング(現在バージョンに互換性が無い場合)は、種々の非常に異なるレベルの細かさで実行することができる。これは、全世界、領域、国、都市、空港から、空港内の特定のターミナル、搭乗ゲート、オフィス等のあらゆる識別可能な場所に及び得、したがって、新しいクライアントバージョンにかなりの柔軟性を提供する。] 図1 [0027] 図2は、クライアントアプリケーションおよびGUIが、稼働中のサーババージョンに依存して、どのように動作しなければならないのかを決定する、クライアントノードでの方法の主要なステップを説明する。] 図2 [0028] プロセスは、クライアントアプリケーション(210)が再起動されるたびに実行される。トランザクション(transactions)は、バージョンサーバおよびデータベース(220)から、使用されるクライアントアプリケーションのバージョンの詳細(214)を読み出すように、ログイン時にクライアントアプリケーションによって開始される(212)。クライアントアプリケーションによってバージョンサーバに自動的に送られる問い合わせは、使用中のアプリケーション識別(ID)を含むクライアントノードのID、およびそのバージョン番号を含んでいる必要がある。] [0029] 本発明の好適な一実施形態では、クライアントアプリケーションのバージョンの使用および新しいバージョンの展開の進捗に関する統計を確立するように、問い合わせは、以下を含む、クライアントに関するより多くの情報を含んでいなければならない。 −ユーザ識別、 −ユーザのオフィス、例えば:ロンドンにあるルフトハンザ(LH)代理店のLONLH033、 −ユーザの場所、例えば:ロンドンヒースロー空港の第2ターミナルのゲート20に対するLHR/T2/GTE/20、 −ユーザの組織、例えば:航空会社名であるLH、 −その他。] [0030] いずれにしても認証の一部として図1に示されるログオンおよびセキュリティサーバ(LSS)(103)に提供される情報は、アプリケーションサーバの正当なユーザとして認識されるように提供される。] 図1 [0031] したがって、クライアントアプリケーションによる問い合わせ(212)で提供されるものは、その領域での新しいアプリケーションのバージョンの展開、および概して、アプリケーションサーバとインターフェースするクライアントアプリケーションの集団の特性に関する非常に重要な情報を得るために用いることができる。例えば、GDSは、クライアントアプリケーションのあるバージョンを使用している世界中の場所のリストを確立することができるか、または非常に古いバージョンを依然として使用している場所を検出することができる。クライアントアプリケーションによって提供された情報は、データベース内に収集され、リモートクライアントノードの大集団の監視および管理を担当する管理センターから実行される、あらゆる種類のプログラムによって利用することができる。] [0032] バージョンサーバ(220)は、全てのクライアントノードで使用中のクライアントアプリケーションおよびGUIのステータスリストを管理し続ける。次いで、現在稼働中のアプリケーションサーバのバージョンを知ること、および、上述のように、問い合わせでクライアントノードによって提供される情報に基づいて、ログイン時に、ステータスが各クライアントシステムに返される(214)。ステータスは、以下の値のうちの1つを取り込むことができる。] [0033] 有効:クライアントアプリケーションおよびGUIの最後にダウンロードしたバージョン(N+1)のステータスである。これは、新しいクライアントアプリケーションが展開された後の通常のステータスであり、稼働させたサーバの新しいバージョンに対応する。 非推奨:クライアントアプリケーションおよびGUIは、古いバージョンであるが、現在のプロダクションサーバと互換性があることを示す。このステータスは、GUIの新しいバージョンが利用できるが、古い展開されたGUIは、現在サーバとの互換性を保持している時に用いられる。クライアント構成に応じて、任意で、ログイン時に警告メッセージがエンドユーザに表示される。 バージョンNへダウングレード:新しく展開されたクライアントアプリケーションおよびGUIのバージョンN+1が、バージョンNとして動作しなければならない(一方で、対応する新しいサーバを作動させる前に、新しいクライアントアプリケーションおよびGUIが配布されている)ことを示す。上述のように、このステータスは、主に、下位互換性の無いサーバの起動を管理できるようにするために用いられる。以下に説明するように、サーバの(前バージョンへの)フォールバックを管理するためにも用いられる場合もある。 無効:クライアントアプリケーションおよびGUIが、現在のプロダクションサーバとの互換性が無い、古いバージョンであることを示す。クライアントノードのエンドユーザは、ログイン時に警告通知を受け取り、通常は、ブロックされる。] [0034] 上述のステータス値は、稼働中のアプリケーションサーバのバージョンに従って動作するように、クライアントシステム(216)によって翻訳される。その後、それらの処理を担当するクライアントアプリケーションとアプリケーションサーバ(230)との間で、通常のトランザクション(218)を行うことができる。] [0035] 何らかの理由で、昇格したアプリケーションサーバに問題が生じて、これを取り除かなければならない場合、前バージョンに関するフォールバックが生じなければならない。よって、既にダウンロードされた新しいクライアントアプリケーションおよびGUIは、展開が進行していた暫定期間中におけるように、以前のサーババージョンと互換性をもって動作を再開するように、「ダウングレード」のステータスに戻して設定しなければならない。一部のクライアントシステムが、依然としてクライアントアプリケーションおよびGUIの前バージョンを使用していた場合、それらのステータスは、「非推奨」から「有効」に逆転される。] [0036] 図3は、ログイン時に問い合わせが発行されたクライアントシステムに起因するステータスを、バージョンサーバがどのように管理するのかを論じる。] 図3 [0037] プロセスは、クライアントシステムによってバージョンサーバに発行される問い合わせに提供される、クライアントアプリケーションおよびGUIのバージョン(310)から始まる。クライアントシステムによって問い合わせられた時に返されるステータスを決定するために、バージョンサーバは、提供されたクライアントバージョン(310)に対してそれぞれ確認される(340)互換性規則を使用し、アプリケーションのどのバージョンが稼働中であるのかを知る。しかしながら、互換性規則の拡大を回避するために、メタ規則に対するクライアントバージョンの先行確認(320)が存在する。メタ規則は、所与の値よりも古い全てのバージョン番号を直接的に排除するために用いられる。クライアントアプリケーションあたり1つのメタ規則が存在する。したがって、メタ規則の確認に失敗した場合(331)、「無効ステータス」が直接的に返される(352)。一方で、クライアントバージョンがメタ規則の確認を通過した場合(332)、互換性規則を確認する(340)ことが必要である。互換性規則は、規則に関係する全てのものが、最終的に有効であると宣言される(380)ように、稼働中のサーバと特定のクライアントシステムとの間に互換性が存在しない、全ての状況を追跡する。そうでない場合、規則に関係するクライアントシステムは、それらに適用する規則の内容に従って、「無効」である(350)、「非推奨」である(360)、または「ダウングレード」である(370)と宣言される。] [0038] 図4は、バージョンサーバの使用によってもたらされる機能拡張である、クライアントシステムのオンラインパッチングを説明する。] 図4 [0039] バージョンサーバの使用は、場合により数千または数万のクライアントノードが関係する多数のクライアントシステムが関与する、大きいネットワークにおいて特に有用である。よって、新しいクライアントアプリケーションの展開は、一般的に完了までに数週間かかる、厄介で時間のかかるタスクである。リモートサイトは、サービスプロバイダ、例えば本発明を示すために用いられるGDSの直接制御下にない場合があるので、例えば空港当局を担当するものは、実際に、それらのシステムに悪影響を与えるという恐れから、アプリケーションの新しいバージョンの組み込みを嫌う可能性がある。本発明によってサポートされるフォールバック機構は、この懸念に対する1つの回答であり、深刻な問題の場合に、サーバの前バージョンに戻すことができるようにする。本発明によるバージョンサーバは、クライアントアプリケーションの展開が進行中である間に、またはそれが達成された後のいずれかの時点で見出されるであろう問題を回避するために、さらなる機能的拡張を実施できるようにする。] [0040] 主要なブロッキングの問題が、既に世界的に採用されているクライアントアプリケーションのバージョン(410)に見つかった場合、バージョンサーバ(420)は、クライアントアプリケーション全体を再配布する必要無く、問題を解決するように、コードの一部であるパッチを提供することができる。これを行うために、図2で既に説明されているように、バージョンサーバが、リモートクライアントシステムのログイン時に自動的に送信された問い合わせ(412)に回答する時に、その応答にパッチが追加される。問い合わせで提供されるバージョン番号およびアプリケーション名に基づいて、バージョンサーバは、クライアントアプリケーションのバージョンが、機能的問題を有することを認識する。次いで、バージョンサーバによって送られる応答は、既に論じたステータスと、機能的問題のパッチとを含む(414)。サーバの応答の受信時に、クライアントアプリケーションは、バージョンステータスに従ってその動作を変化させ、かつそれ自体にパッチを適用する(416)。パッチは、クライアントアプリケーション機械に恒久的に格納も組み込みも行われず、クライアントアプリケーションが再開されるたびに適用される。その後、通常のトランザクション(418)を、それらを担当するクライアントアプリケーションと、アプリケーションサーバ(430)との間で再開することができる。この動作モードは、新しいバージョンが再配布されるまで継続する。] 図2
权利要求:
請求項1 アプリケーションサーバ(109)のソフトウェアプログラムの新しい下位互換性の無いバージョンの、クライアント/サーバネットワーキング環境(130)内への導入を管理するための方法であって、最初に、アプリケーションサーバの前記ソフトウェアプログラムの前記新しい下位互換性の無いバージョンが提供されるクライアントシステム(122)に、前記アプリケーションサーバの現在バージョンと互換性があるダウングレードモード、および前記ソフトウェアプログラムの前記新しい下位互換性の無いバージョンと互換性がある有効モードで動作可能である、クライアントアプリケーション(120)を配布するステップと、前記クライアントシステムへの組み込みに応じて、前記クライアントアプリケーションを、前記アプリケーションサーバの前記ソフトウェアプログラムの前記現在バージョンと互換性がある、ダウングレードモード(370)に設定するステップと、前記アプリケーションサーバの前記ソフトウェアプログラムの前記新しい下位互換性の無いバージョンの導入まで、前記クライアントアプリケーションを前記ダウンロードモードで動作させ続けるステップと、前記アプリケーションサーバの前記ソフトウェアプログラムの前記新しい下位互換性の無いバージョンの導入に応じて、前記クライアントアプリケーションを、前記アプリケーションサーバの前記ソフトウェアプログラムの前記新しいバージョンと互換性がある、前記有効モード(380)に設定するステップと、その時点から、前記クライアントアプリケーション(120)を前記有効モードで動作させるステップと、を含む、方法。 請求項2 設定するステップは、前記クライアントシステムの再起動ごとに自動的にトリガされ、前記クライアント/サーバネットワーキング環境で動作するバージョンサーバ(105)に問い合わせるステップ(212)であって、前記問い合わせは、前記クライアントシステムの識別を含み、クライアントアプリケーションのバージョン番号をさらに含む、ステップと、前記クライアントシステム(216)を、前記ダウングレードモードおよび前記有効モードを含むモードで動作させるように、前記問い合わせられたバージョンサーバ(105)からステータス値を得るステップ(214)と、をさらに含む、請求項1に記載の方法。 請求項3 問い合わせ(212)は、統計を確立するように、前記クライアントシステムに関する地理的位置、ユーザ識別、およびあらゆる種類の情報をさらに含む、請求項2に記載の方法。 請求項4 問い合わせの内容は、前記バージョンサーバのデータベース(107)内に格納される、請求項2又は3に記載の方法。 請求項5 前記クライアントシステムの再起動は、前記アプリケーションサーバの前記ソフトウェアプログラムの前記新しい下位互換性の無いバージョンが稼働された時に、前記アプリケーションサーバ(100)を動作させるサービスプロバイダによって強制される、請求項2に記載の方法。 請求項6 前記クライアントシステムの再起動は、前記アプリケーションサーバの前記ソフトウェアプログラムの前記新しい下位互換性の無いバージョンがロードされた時に、自動的に強制される、請求項5に記載の方法。 請求項7 前記クライアントシステムの再起動は、前バージョンに関するフォールバックの場合に、自動的に強制される、請求項5に記載の方法。 請求項8 前記クライアントアプリケーションは、前記クライアントシステムを無効モード(350)で動作させるように、前記バージョンサーバから前記ステータス値を受け取る、請求項1又は2に記載の方法。 請求項9 前記得るステップは、バージョンサーバにおいて、メタ規則に対して前記クライアントアプリケーションのバージョン番号を確認して(320)、メタ規則が指定するものよりも古いクライアントアプリケーションが無効であると即時に宣言する、先行ステップを含む、請求項2に記載の方法。 請求項10 メタ規則の確認に成功した場合に、一組の互換性規則(340)に対して前記クライアントアプリケーションのバージョン番号を確認するステップと、規則の内容に従って、前記互換性規則(340)に関係する前記クライアントアプリケーションが、無効(350)、非推奨(360)、またはダウングレード(370)であると宣言するステップと、そうでない場合は、いかなる互換性規則にも関係しない前記クライアントアプリケーションが、有効(380)であると宣言するステップと、をさらに含む、請求項9に記載の方法。 請求項11 前記得るステップは、1つ以上のクライアントアプリケーションの問題を修正するように、パッチ(414)を前記クライアントシステムにさらに配信する、請求項2に記載の方法。 請求項12 前記パッチは、前記クライアントシステムが再起動される(416)たびに、動的に適用される、請求項11に記載の方法。 請求項13 前記クライアントアプリケーションは、グラフィックユーザインタフェース(210)を含む、上述の請求項のうちのいずれか1つに記載の方法。 請求項14 アプリケーションサーバのソフトウェアプログラムの新しい下位互換性の無いバージョンの、請求項1〜13のうちのいずれか1つに記載の前記方法の各ステップを実行するために適合される手段を備える、バージョンサーバ(105)と、データベース(107)とを含むクライアント/サーバネットワーキング環境(100)内への導入を管理するためのシステム。 請求項15 アプリケーションサーバのソフトウェアプログラムの新しい下位互換性の無いバージョンの、請求項1〜13のうちのいずれか1つに記載のクライアント/サーバネットワーキング環境内への導入を管理するための前記方法を、少なくとも1つのコンピュータ(110、122)に動作させるための、コンピュータで読み取り可能なコード手段を備える、コンピュータで読み取り可能な記憶媒体に格納されるコンピュータプログラム製品。
类似技术:
公开号 | 公开日 | 专利标题 US10470148B2|2019-11-05|Mobile device management US10209975B2|2019-02-19|Logical migration of applications and data US9940210B2|2018-04-10|Healing cloud services during upgrades US20170093748A1|2017-03-30|Virtual network controller US9246765B2|2016-01-26|Apparatus and methods for auto-discovery and migration of virtual cloud infrastructure US9015177B2|2015-04-21|Dynamically splitting multi-tenant databases US9929916B1|2018-03-27|Achieving stateful application software service behavior in distributed stateless systems US9686121B2|2017-06-20|Client-premise resource control via provider-defined interfaces US7350201B2|2008-03-25|Software distribution application supporting operating system installations US7689676B2|2010-03-30|Model-based policy application US9116776B2|2015-08-25|Updating software objects AU2005222887B2|2010-07-01|Application programming interface for administering the distribution of software updates in an update distribution system US20160191668A1|2016-06-30|Systems and methods for providing a client agent for delivery of remote services DE602005000025T2|2006-11-30|Verfahren und Anordnung für den Betrieb eines offenen Netzwerks mit einem Proxy US20150264119A1|2015-09-17|Solver for cluster management system US7558857B2|2009-07-07|Solution deployment in a server farm US9876731B2|2018-01-23|On demand provisioning of applications KR100942127B1|2010-02-16|업데이트 배포 시스템에서 업데이트 메타데이터를 배포시키기 위한 태그-기반 스키마 US9594597B2|2017-03-14|Systems and methods for automated server side brokering of a connection to a remote device US8578371B2|2013-11-05|Software distribution method and system with automatic prerequisite installation US20150373012A1|2015-12-24|Integrated APIs and UIs for Consuming Services across Different Distributed Networks CN101605030B|2012-09-05|一种面向电视台应用的基于Active Directory的统一认证实现方法 CN101484888B|2013-01-09|用于监控无线网络访问的方法和设备 US20140337502A1|2014-11-13|Managing networks and machines for an online service US8296198B2|2012-10-23|Method and system for distribution of information
同族专利:
公开号 | 公开日 JP5437270B2|2014-03-12| EP2083354A1|2009-07-29| BRPI0906423A2|2015-07-14| EP2235625B1|2017-05-03| AU2009207774A1|2009-07-30| EP2235625A1|2010-10-06| ZA201004928B|2012-10-31| CN101925878A|2010-12-22| AU2009207774B2|2014-10-30| CA2711944C|2018-08-14| ES2632740T3|2017-09-15| CA2711944A1|2009-07-30| US9098371B2|2015-08-04| WO2009092666A1|2009-07-30| US20110185348A1|2011-07-28| CN101925878B|2015-01-14| KR20100113573A|2010-10-21| KR101676042B1|2016-11-14|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JPH0581010A|1991-09-20|1993-04-02|Fujitsu Ltd|パツチ実施方法| JPH07129373A|1993-10-29|1995-05-19|Matsushita Electric Ind Co Ltd|アプリケーションバージョン管理装置| WO2002048878A2|2000-12-14|2002-06-20|Curl Corporation|System and methods for providing compatibility across multiple versions of a software system| JP2004334767A|2003-05-12|2004-11-25|Nec Corp|情報処理方法、情報処理装置及び情報処理プログラム| JP2005107708A|2003-09-29|2005-04-21|Canon Inc|アプリケーション配布システム| JP2007286790A|2006-04-14|2007-11-01|Fujitsu Broad Solution & Consulting Inc|アプリケーション管理プログラム、アプリケーション管理方法およびアプリケーション管理装置|JP2015011708A|2013-06-27|2015-01-19|横河電機株式会社|System and method for generating output data| US9262237B2|2013-12-17|2016-02-16|International Business Machines Corporation|Automating software availability management based on API versioning|US5754785A|1995-04-27|1998-05-19|General Datacomm|Communications network equipment| US5732275A|1996-01-11|1998-03-24|Apple Computer, Inc.|Method and apparatus for managing and automatically updating software programs| US6343328B1|1997-02-10|2002-01-29|International Business Machines Corporation|Digital computer system using embedded comments to manipulate virtual controller functions| US6718549B1|1999-05-05|2004-04-06|Microsoft Corporation|Methods for managing the distribution of client bits to client computers| US6754848B1|1999-09-30|2004-06-22|International Business Machines Corporation|Method, system and program products for operationally migrating a cluster through emulation| AU7856000A|2000-03-10|2001-09-24|Aether Systems Inc|System, method and apparatus for initial configuration of a client device| US6950847B2|2001-07-12|2005-09-27|Sun Microsystems, Inc.|Service provider system for delivering services in a distributed computing environment| CN1287279C|2003-11-14|2006-11-29|中兴通讯股份有限公司|一种分布式系统中客户端从服务器端下载软件的方法| US20050108706A1|2003-11-14|2005-05-19|International Business Machines Corporation|Method and system for dynamically loading server code on a client to support multiple veresions of client and servers in a client/server application| US20050132032A1|2003-12-15|2005-06-16|Bertrand Daniel W.|Autonomous agent-based system management| WO2006030015A2|2004-09-17|2006-03-23|International Business Machines Corporation|Display and installation of portlets on a client platform| US7792522B1|2006-01-13|2010-09-07|Positive Access Corporation|Software key control for mobile devices| US7606836B2|2006-08-21|2009-10-20|Tibco Software Inc.|Methods for efficient data version verification|US8161551B1|2009-04-21|2012-04-17|Mcafee, Inc.|System, method, and computer program product for enabling communication between security systems| CN102521001B|2011-12-19|2014-04-02|青岛海信网络科技股份有限公司|一种c/s结构应用程序版本兼容性控制方法| US9262149B2|2012-04-12|2016-02-16|International Business Machines Corporation|Managing incrementally applied system updates| US9262152B1|2015-01-22|2016-02-16|Bank Of America Corporation|Modular system including management and deployment of software updates and revisions| CN106897053B|2016-07-08|2020-06-26|阿里巴巴集团控股有限公司|一种代码发布方法与装置| US10417116B2|2016-07-28|2019-09-17|International Business Machines Corporation|System, method, and apparatus for crowd-sourced gathering of application execution events for automatic application testing and replay| US10289401B1|2016-12-30|2019-05-14|Juniper Networks, Inc|Systems and methods for efficiently downgrading operating systems installed on network devices|
法律状态:
2012-01-07| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120106 | 2012-02-15| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120214 | 2013-02-14| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130214 | 2013-02-26| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130226 | 2013-05-30| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130516 | 2013-06-12| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130605 | 2013-06-22| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130621 | 2013-07-03| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130702 | 2013-09-10| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130910 | 2013-11-02| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131101 | 2013-11-21| TRDD| Decision of grant or rejection written| 2013-12-03| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131203 | 2013-12-19| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131211 | 2013-12-20| R150| Certificate of patent or registration of utility model|Ref document number: 5437270 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 | 2016-12-06| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2017-11-28| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2018-12-04| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2019-12-03| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2020-12-10| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2021-12-16| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|